Recording conference application activity associated with a network conference

ABSTRACT

Certain aspects involve recording conference application activity associated with a network conference. A client application on a computing device is configured to receive a request to install a conference application, and install the conference application from a network server. The computing device is further configured to activate a recording of conference application activity to record activities associated with using installed conference applications by the client application including the installed conference application. The computing device is configured to receive a selection of a conference application from the installed conference applications, execute the selected conference application from the client application, and complete the recording of the conference application activity.

CROSS REFERENCE TO RELATED APPLICATIONS

This present application is a continuation application of U.S. patentapplication Ser. No. 17/069,787 filed on Oct. 13, 2020.

The present application contains subject matter that may be related tothe subject matter in U.S. patent application Ser. No. 17/069,620entitled “SYSTEM AND METHODS FOR PROVIDING CONFERENCE APPLICATIONSDURING A NETWORK CONFERENCE” filed on Oct. 13, 2020, and assigned to theassignee of the present application.

The present application also contains subject matter which may berelated to the subject matter in U.S. patent application Ser. No.17/069,658 entitled “SYSTEM AND METHODS FOR SHARING A SCREEN SHOT OF ACONFERENCE APPLICATION DURING A NETWORK CONFERENCE” filed on Oct. 13,2020 and assigned to the assignee of the present application.

The present application also contains subject matter which may berelated to the subject matter in U.S. patent application Ser. No.17/069,718 entitled “SYSTEM AND METHODS FOR TRANSMITTING CONFERENCEAPPLICATION CONTENT DURING A NETWORK CONFERENCE” filed on Oct. 13, 2020and assigned to the assignee of the present application.

The present application also contains subject matter which may berelated to the subject matter in U.S. patent application Ser. No.17/069,750 entitled “SYSTEM AND METHODS FOR RUNNING CONFERENCEAPPLICATIONS BEFORE, DURING, AND AFTER A NETWORK CONFERENCE” filed onOct. 13, 2020, now U.S. Pat. No. 11,050,802 issued on Jun. 29, 2021, andassigned to the assignee of the present application.

The present application also contains subject matter which may berelated to the subject matter in U.S. patent application Ser. No.17/069,774 entitled “SYSTEM AND METHODS FOR ASSOCIATING CONFERENCEAPPLICATION CONTENT WITH AN INSTANCE OF A NETWORK CONFERENCE” filed onOct. 13, 2020 and assigned to the assignee of the present application.

FIELD

The exemplary embodiments of the present invention relate to the fieldof network communication. More specifically, the exemplary embodimentsof the present invention relate to conference system with applicationsupport.

BACKGROUND

With the increasing popularity of digital electronics and networkcommunications, real-time interactive network conferences (or meetings)have become more popular. For example, network conferencing now allowspeople to communicate with each other from remote locations to exchangeaudio and video in real time.

During a network conference, each meeting attendee can transmit videoand audio signals to other attendees. A typical conferencing system isconfigured with a camera that captures an image of a conference attendeeand transmits this image to other attendees. Typically, attendee arelimited to using functionality provided by the conferencing system. Forexample, the conferencing system may provide a chat mode in whichconference attendees can chat by exchanging text messages during aconference. However, it is desirable to provide greater functionalityduring a network conference to conference attendees to increaseproductivity and enhance user experience.

SUMMARY

In various embodiments, a conference system with application support(CSAS) is provided. In an embodiment, the CSAS utilizes a clientapplication that allow conference attendees to exchange audio and videoinformation over a communication network. The client application isconfigured to install and run conference applications that provide awide range of functionality to the conference attendees. The conferenceapplications can be proprietary to the conference system or produced bythird parties. During operation, an attendee can run a conferenceapplication to provide a variety of functionally before, during, andafter a network conference.

In an embodiment, a method is provided for recording conferenceapplication activity associated with a network conference. The methodincludes activating a client application, activating a recording ofconference application activity, selecting a conference application froma plurality of conference applications, and running the conferenceapplication from the client application. The conference application isrun during at least one of before, during, and after a networkconference so that conference application activity is recorded. Themethod also includes exiting the network conference, and completing therecording of the conference application activity.

In an embodiment, apparatus is provided for recording conferenceapplication activity associated with a network conference. The apparatuscomprises a processor configured to: activate a client application;activate a recording of conference application activity; select aconference application from a plurality of conference applications; andrun the conference application from the client application. Theconference application is run during at least one of before, during, andafter a network conference so that conference application activity isrecorded. The processor is also configured to exit the networkconference, and complete the recording of the conference applicationactivity.

In an embodiment, a non-transitory computer readable medium is providedon which are stored program instructions that, when executed by one ormore processors, cause the one or more processors to perform operationsof: activating a client application; activating a recording ofconference application activity; selecting a conference application froma plurality of conference applications; running the conferenceapplication from the client application, wherein the conferenceapplication is run during at least one of before, during, and after anetwork conference so that the conference application activity isrecorded. The instructions also cause the one or more processors toperform operations of exiting the network conference and completing therecording of the conference application activity.

Additional features and benefits of the exemplary embodiments of thepresent invention will become apparent from the detailed description,figures and claims set forth below.

BRIEF DESCRIPTION OF THE DRAWINGS

The exemplary embodiments of the present invention will be understoodmore fully from the detailed description given below and from theaccompanying drawings of various embodiments of the invention, which,however, should not be taken to limit the invention to the specificembodiments, but are for explanation and understanding only.

FIG. 1 shows a diagram illustrating an exemplary embodiment of aconference system with application support.

FIG. 2 shows exemplary functions provided by embodiments of a conferencesystem with application support.

FIG. 3 shows an exemplary embodiment of a CSAS client configured toprovide embodiments of the conference system with application support.

FIG. 4 shows an exemplary host apparatus configured to provideembodiments of the conference system with application support.

FIG. 5 shows an exemplary conference server configured to provideembodiments of the conference system with application support.

FIG. 6 shows an exemplary attendee apparatus configured to provideembodiments of the conference system with application support.

FIG. 7 shows a diagram illustrating an exemplary embodiment of aconference system with application support in which an application isrun during a network conference.

FIG. 8 shows an exemplary method for running an application during anetwork conference.

FIG. 9 a diagram illustrating an exemplary embodiment of a conferencesystem with application support in which an application screen shot isshared during a network conference.

FIG. 10 shows an exemplary method for sharing an application screenduring a network conference.

FIG. 11 shows a diagram illustrating an exemplary embodiment of aconference system with application support in which application contentis transmitted during a conference to another attendee.

FIG. 12 shows an exemplary method for transmitting application contentduring a network conference.

FIG. 13 a diagram illustrating an exemplary embodiment of a conferencesystem with application support in which applications are run before andafter a network conference.

FIG. 14 shows an exemplary method for running applications before andafter a network conference.

FIG. 15 a diagram illustrating an exemplary embodiment of a conferencesystem with application support in which application content is attachedto an instance of a network conference.

FIG. 16 shows an exemplary method for attaching application content toan instance of a network conference.

FIG. 17 shows a diagram illustrating an exemplary embodiment of aconference system with application support in which a record ofapplication usage during a network conference is maintained.

FIG. 18 shows an exemplary method for maintaining records of applicationusage during a network conference.

DETAILED DESCRIPTION

Embodiments of the present invention disclose systems, methods, andapparatus for providing a network conference system with applicationsupport.

The purpose of the following detailed description is to provide anunderstanding of one or more embodiments of the present invention. Thoseof ordinary skills in the art will realize that the following detaileddescription is illustrative only and is not intended to be in any waylimiting. Other embodiments will readily suggest themselves to suchskilled persons having the benefit of this disclosure and/ordescription.

In the interest of clarity, not all of the routine features of theimplementations described herein are shown and described. It will, ofcourse, be understood that in the development of any such actualimplementation, numerous implementation-specific decisions may be madein order to achieve the developer's specific goals, such as compliancewith application and business related constraints, and that thesespecific goals will vary from one implementation to another and from onedeveloper to another. Moreover, it will be understood that such adevelopment effort might be complex and time-consuming but wouldnevertheless be a routine undertaking of engineering for those ofordinary skills in the art having the benefit of embodiments of thisdisclosure.

Various embodiments of the present invention illustrated in the drawingsmay not be drawn to scale. Rather, the dimensions of the variousfeatures may be expanded or reduced for clarity. In addition, some ofthe drawings may be simplified for clarity. Thus, the drawings may notdepict all of the components of a given apparatus (e.g., device) ormethod. The same reference indicators will be used throughout thedrawings and the following detailed description to refer to the same orlike parts.

In accordance with the embodiments of present invention, the components,process steps, and/or data structures described herein may beimplemented using various types of operating systems, computingplatforms, computer programs, and/or general-purpose machines. Inaddition, those of ordinary skills in the art will recognize thatdevices of a less general-purpose nature, such as hardware devices,field programmable gate arrays (FPGAs), application specific integratedcircuits (ASICs), or the like, may also be used without departing fromthe scope and spirit of the inventive concepts disclosed herein. Where amethod comprising a series of process steps is implemented by a computeror a machine and those process steps can be stored as a series ofinstructions readable by the machine or computer for execution. Theinstructions may be stored on a tangible medium such as a computermemory device, such as, but not limited to, magnetoresistive randomaccess memory (“MUM”), phase-change memory, or ferroelectric RAM(“FeRAM”), flash memory, ROM (Read Only Memory), PROM (Programmable ReadOnly Memory), EEPROM (Electrically Erasable Programmable Read OnlyMemory), Jump Drive, magnetic storage medium (e.g., tape, magnetic diskdrive, and the like), optical storage medium (e.g., CD-ROM, DVD-ROM,paper card and paper tape, and the like) and other known types ofprogram memory.

The term “system” or “device” is used generically herein to describe anynumber of components, elements, sub-systems, devices, packet switchelements, packet switches, access switches, routers, networks, computerand/or communication devices or mechanisms, or combinations ofcomponents thereof. The term “computer” includes a processor, memory,and buses capable of executing instruction wherein the computer refersto one or a cluster of computers, personal computers, workstations,mainframes, or combinations of computers thereof.

FIG. 1 shows a diagram of a communication network 100 that illustratesan exemplary embodiment of a conference system with application support(CSAS). The communication network 100 comprises first user equipment102, which is referred to as a host UE that acts as a host for thenetwork conference. The network 100 also comprises attendee userequipment (A1-A3) that participant in the network conference. Theconference participants (e.g., host 102 and attendees (A1-A3)) areconfigured to communicate with each other utilizing a conference systemserver 104 and communication network 106. In an embodiment, theconference server 104 stores a plurality of conference applications 108as part of a conference application store (App store). The applications108 comprises proprietary and third-party applications that can bepurchased or licensed for use during a network conference. In anembodiment, the communication network 106 comprises a wiredcommunication network, a wireless communication network, or acombination of wired and wireless communication networks.

The host 102 and attendee UE (A1-A3) run a CSAS client 112 that providesthe function of a conference system with application support asdescribed herein. During a conference, the host 102 and attendees(A1-A3) communicate with each other through the system server 104 andcommunication network 106. The CSAS client 112 provides a conferencedisplay 110 in which the conference participants can see each other'svideo streams on their own system.

In an embodiment, the user of the host 102 can select an applicationselector (or button) 114 on the display 110 that will open a directoryof conference applications that are installed on the host 102. Inanother embodiment, the user of the host 102 can access the applicationstore 108 and install any of the available applications. For example,the application 118 can be obtained from the application store 108 andinstalled on the host 102. The user then selects one or moreapplications to run, and the selected applications open dialog windowsthat appear in a right sidebar of the display. For example, theapplication 116 has been selected and runs during the conference. Theuser can then interact with the application 116 during the conference toperform functions, such as note taking, document creation, spreadsheetoperations, or any other functions provided by the application 116. Theuse of applications during a network conference provides greaterfunctionality during a network conference by allowing conferenceattendees to increase productivity and by providing an enhanced userexperience.

A more detailed description of the CSAS to provide applications for usebefore, during, and after a network conference is provided below.

FIG. 2 shows exemplary functions 200 provided by embodiments of theconference system with application support. For example the functions200 are available to attendees using the conference system withapplication support as shown in FIG. 1. In various exemplaryembodiments, the conference system with application support provides oneor more of the following application functions.

Run Applications before a Conference (202)—This function allows anapplication to be run from the conference system client before a networkconference is started or joined. For example, a user may start a mainmodule of the conference system client and then select from installedconference applications and run any of those installed conferenceapplication. The user may also download and install additionalconference applications from the conference system server and then runany of those newly install applications from the conference systemclient. Thus, the user can interact with the running conferenceapplications as desired before a network conference is started.

Run Applications During a Conference 204—This function allows anapplication to be run from the conference system client during a networkconference. For example, a user may start or join a network conferenceand then select from installed conference applications and run any ofthose installed conference applications. The user may also download andinstall additional conference applications from the conference systemserver and then run any of those newly install applications during thenetwork conference. Thus, the user can interact with the runningconference applications as desired during a network conference.

Run Applications After a Conference 206—This function allows anapplication to be run from the conference system client after a networkconference has completed. For example, a user may exit a networkconference and then select from installed conference applications andrun any of those installed conference application. The user may alsodownload and install additional conference applications from theconference system server and then run any of those newly installapplications during the network conference. Thus, the user can interactwith the running conference applications as desired after a networkconference has been exited.

Provide Screen Share of Application 208—This function allows a screenshare of a conference application that is run from the conference systemclient. For example, a user may start or join a network conference andthen select from installed conference applications and run any of thoseinstalled conference applications. When running, the applicationgenerates an application display window that appears on the user'sscreen. With a single button press or keystroke the user can screenshare the application display window with other conference attendees.For example, the user may run a conference application that generate adisplay window showing time schedule of events and then share thisdisplay window of the time schedule with other conference attendees bypressing one button or key. Thus, the user can interact with the runningconference applications as desired and screen share the results during anetwork conference.

Transmit Application Content During Conference 210—This function allowscontent from a conference application to be transmitted to attendees ofnetwork conference. For example, a user may start or join a networkconference and then select from installed conference applications andrun any of those installed conference applications. When running, theapplication generates an application display window that appears on theuser's screen. The application display window shows application content(or content pages) that contain various content that has been entered bythe user or has been generated by the application. The user can selectany of the application content and transmit this content to attendees ofthe network conference. The application content is transmitted with anidentifier that identifies the conference application associate with thecontent. When the transmitted content is received at an attendee device,the CSAS client uses the application identifier to select and run theapplication with the transmitted content on the attendee device. If theattendee device does not have the application installed, the applicationidentifier is used to download and install the application on theattendee device to allow the content to be viewed. Thus, the user caninteract with the running conference applications as desired andtransmit application content to other attendees during a networkconference.

Attach Application Page to Conference 212—This function allows aconference application page (or content) to be attached (or associated)with an instance of a network conference. For example, a user mayidentify a conference application page and form an attachment to aninstance of a network conference. The attachment can occur before,during, or after the identified network conference occurs. For example,if the attachment of the page occurs before the conference is started,when a conference invitation is transmitted to the conference attendees,the attached application page is included with the invitation. Thisallows the attendees to open and view the page using the appropriateapplication before the conference begins.

Generate Record of Application Activity 214—This function allows arecord of conference application activity to be maintained and saved.For example, a user may start or join a network conference and thenselect from installed conference applications and run any of thoseconference applications during the conference. After the conference hasended, a record of the applications that were run during the conferenceis saved on the user's device.

More detail descriptions of the functions provided by embodiments of theconference system with application support are provided in greaterdetail below.

FIG. 3 shows an exemplary embodiment of a CSAS client 302 configured toprovide embodiments of the conference system with application support.For example, the CSAS client 302 is suitable for use at the CSAS client112. In an embodiment, the CSAS client 302 comprises a main clientapplication 304 and a conferencing client application 306. When running,the main client application 304 provides a main client display window310 in which a user interacts to setup, initiate, or join a networkconference. In an embodiment, installed conference applications 308 canbe accessed and run by the main client application 304 to generate aconference application interface window 312 that appears in the mainclient display window 310. The user can then interact with theconference application interface window 312 to perform a variety offunctions provided by the application.

The main client application can also run a conferencing clientapplication 306. When running, the conferencing client application 306provides a conferencing client display window 314 in which a userinteracts to participate in a network conference. In an embodiment, theinstalled conference applications 308 can be accessed and run by theconferencing client application 304 during a network conference togenerate a conference application interface window 316 that appears inthe conferencing client display window 314. The user can then interactwith the conference application interface window 316 to perform avariety of functions provided by the application.

In an embodiment, the main client application 304 and the conferencingclient application 306 comprise an embodiment of a Web browser and theconference applications 308 comprise an embodiment of Web applicationsthat are configured to run in the Web browser. However, otherconfigurations for running the conference applications 308 in the main304 and conferencing 306 client applications can be utilized.

In still another embodiment, a standalone device, such as the touchscreen device 320 is provided that includes a main client application322 and installed conference applications 324. The main clientapplication 322 can run any of the installed conference applications 324on a touch screen display 326 to generate a conference applicationinterface window 328 that can provide user interaction through the touchscreen 326.

FIG. 4 shows an exemplary host apparatus 400 configured to provideembodiments of the conference system with application support. Forexample, the host apparatus 400 is suitable for use as the host UE 102shown in FIG. 1. The host apparatus 400 comprises processor 402, memory404, camera interface 406, display interface 408, instructions 410,installed conference applications 412, and transceiver 414 all connectedto communicate over data bus 416. In an embodiment, the instructions 410comprise the conference system with application support client 112.

During operation, the processor 402 executes the instructions 410 toenable the client 112 to perform the functions and operations of theCSAS. For example, the processor 402 controls the camera interface 406to receive a video signal 418 from a camera mounted at the userequipment. The video signal contains an image of the host user. Thedisplay interface 408 is configured to output display information 420 toa video display that is part of the host apparatus.

The processor 402 also receives user input 422 and uses this input toperform various functions of the CSAS. The transceiver 414 is used bythe processor 402 to transmit and receive information during a networkconference. For example, the processor 402 uses the transceiver 414 totransmit and receive conference audio and video information 420. Thetransceiver 414 also receives conference applications 422 that areinstalled as installed applications 412 as part of the CSAS. Thetransceiver 414 also transmits conference applications screen shots 424,conference application content 426, and conference application contentattached to an instance of a conference 428. In various exemplaryembodiments, the processor 402 executes the CSAS client 112 to performthe conferencing functions and operations as shown in FIG. 2.

FIG. 5 shows an exemplary conference server apparatus 500 configured toprovide embodiments of the conference system with application support.For example, the server apparatus 500 is suitable for use as the server104 shown in FIG. 1. In an embodiment, the server 500 comprisesprocessor 502, memory 504, transceiver 506, instructions 508, andconference application storage 108 all couple to communicate over bus512. The conference application storage 108 comprises a plurality ofpropriety and third-party conference applications can be downloaded andinstall in user equipment and use during network conferences. Duringoperation, the processor 502 executes instructions 508 and utilizes thememory 504 as necessary to perform the functions of the server 500 asdescribed herein.

During a network conference, the transceiver 506 communicates with thenetwork 106 to exchange information between the conference host andattendees. For example, audio/video information 420 is exchanged betweenthe conference participants. The transceiver 506 transmits conferenceapplications 422 for installation on the systems of the conferenceattendees. When screen shot 424, application content 426, andapplication attachments 430 are received from the host UE, thetransceiver 506 re-transmits that information to the designatedconference attendees.

Therefore, in various exemplary embodiments, the server apparatus 500 isconfigured to store conference applications 108 and provide thoseapplications to participants of a network conference in accordance withCSAS. The server 500 also facilitates the operation of networkconference to provide all the features and functionality of CSAS.

FIG. 6 shows an exemplary attendee apparatus 600 configured to provideembodiments of the conference system with application support. Forexample, the attendee apparatus 600 is suitable for use as any of theattendee apparatus A1-A3 shown in FIG. 1. The attendee apparatus 600comprises processor 602, memory 606, camera interface 606, displayinterface 608, instructions 610, installed conference applications 612,and transceiver 614 all connected to communicate over data bus 616. Inan embodiment, the instructions 610 comprise the conference system withapplication support client 112.

During operation, the processor 602 executes the instructions 610 toenable the client 112 to perform the functions and operations of theCSAS. For example, the processor 602 controls the camera interface 606to receive a video signal 618 from a camera mounted at the userequipment. The video signal contains an image of the attendee user. Thedisplay interface 608 is configured to output display information 620 toa video display that is part of the attendee apparatus.

The processor 602 also receives user input 622 and uses this input toperform various functions of the CSAS. The transceiver 616 is used bythe processor 602 to transmit and receive information during a networkconference. For example, the processor 602 uses the transceiver 616 totransmit and receive conference audio and video information 420. Thetransceiver 616 also receives conference applications 422 that areinstalled as installed conference application 612 as part of the CSAS.The transceiver 616 also receives conference applications screen shots424, conference application content 426, and conference applicationcontent attached to an instance of a conference 430. In variousexemplary embodiments, the processor 602 executes the CSAS client 112 toperform the conferencing functions and operations as shown in FIG. 2.

FIG. 7 shows a diagram illustrating an exemplary embodiment of aconference system with application support in which a client application112 is run on a host equipment 102 during a network conference. Theclient application 112 is also running on attendee computers A1-A3. Thenetwork server 104 facilitates the network conference over thecommunication network 106. For example, the client application 112provides a network conference display 110 on the host system and theattendee systems during the network conference.

During the conference, the user of the host system 102 selects theconference application selector (button) 114 to view a listing 702 ofinstalled conference applications. The user selects one or more of theconference applications to run during the conference. For example, theuser select conference application 1 704 to run during the conference.The application 1 704 runs in a side panel on the right side of theconference display 110. During the conference the user can interact withthe application 704 to take notes or make other entries depending on thefunctionality of the application. In an embodiment, the followingfunctions are performed by embodiments of the CSAS.

1. Application selector button provided on menu to display directory ofinstalled conference applications. Ability to install additionalconference applications from application store on network server.

2. Selection of one or more conference applications to run during anetwork conference.

3. Run conference applications in sidebar during network conference.

4. Allow multiple conference applications to be installed and run at thesame time (multitasking).

5. Allow resizing and repositioning of conference application dialogwindows.

FIG. 8 shows an exemplary method for running a conference applicationduring a network conference. For example, in an embodiment, the method800 is performed by the client application 112 running on the host 102any of the attendee UE (A1-A3) systems shown in FIG. 7.

At block 802, a user activates the CSAS client on the device or system.For example, the user of the host 102 activates the CSAS client 112.

At block 804, the user initiates or joins a network conference using theCSAS client. For example, the user of the host 102 joins a conferencewith the attendees (A1-A3) utilizing the network server 104 and thenetwork 106.

At block 806, the user selects the application button to display adirectory listing of installed applications. For example, the user ofthe host 102 selects the application button 114 to see the listing 702of conference applications installed on the host 102.

At block 808, the user selects and runs one or more of the applicationshown in the directory listing. For example, the user of the host 102selects and runs the application 704 using the CSAS client, whichprovides an application dialog window in a right sidebar of the display110.

At block 810, the user of the host 102 utilizes the application duringthe network conference with the attendees (A1-A3). For example, theconference application 704 provides any desired functionality, such asword processing, spreadsheets, presentations, or any other type offunctionality suitable for an application.

At block 812, the user exits the client conference and closes theapplication.

Thus, the method 800 provides a method running a conference applicationduring a network conference. It should be noted that the operations ofthe method 800 are exemplary and not limiting of the scope of theembodiments. Furthermore the operations of the method 800 can bechanged, deleted, rearranged, added to, or otherwise modified within thescope of the embodiments.

FIG. 9 a diagram illustrating an exemplary embodiment of a conferencesystem with application support in which an application screen shot isshared during a network conference. In an exemplary embodiment, theclient application 112 is run on a host equipment 102 during a networkconference. The client application 112 is also running on attendeecomputers A1-A3. The network server 104 facilitates the networkconference over the communication network 106. For example, the clientapplication 112 provides a network conference display 110 on the hostsystem and the attendee systems during the network conference.

During the conference, the user of the host system 102 selects theconference application selector 114 to view a listing 702 of installedconference applications. The user selects one or more of the conferenceapplications to run during the conference. For example, the user selectconference application 1 704 to run during the conference. Theapplication 1 704 runs in a sidebar on the right side of the conferencedisplay 110. During the conference the user can interact with theapplication 704 to take notes or make other entries depending on thefunctionality of the application. In an embodiment, the user selects abutton 904 to generate a screen shot (SS) 902 of a display windowgenerated by the application 704. The SS 902 is transmitted to theattendees (A1-A3) through the server 104 and the network 106. The SS 902then appears on the displays of the attendee's systems. Thus, the userof the host 102 can transmit screen shots of conference applications inuse on the host to any or all of the attendee's systems. In anembodiment, the following functions are performed by embodiments of theCSAS.

1. Application selector button provided on menu to display directory ofinstalled conference applications. Ability to install additionalconference applications from application store on network server.

2. Selection of one or more conference applications to run during anetwork conference.

3. Run conference applications in sidebar during network conference.

4. Allow multiple conference applications to be installed and run at thesame time (multitasking).

5. Allow resizing and repositioning of conference application dialogwindows.

6. Activate selector 904 to transmit screen shot of a conferenceapplication window to one or more conference attendees.

FIG. 10 shows an exemplary method for sharing a screen shot of aconference application during a network conference. For example, in anembodiment, the method 1000 is performed by the client application 112running on the host 102 any of the attendee UE (A1-A3) systems shown inFIG. 9.

At block 1002, a user activates the CSAS client on the device or system.For example, the user of the host 102 activates the CSAS client 112.

At block 1004, the user initiates or joins a network conference usingthe CSAS client. For example, the user of the host 102 joins aconference with the attendees (A1-A3) utilizing the network server 104and the network 106.

At block 1006, the user selects the application button to display adirectory listing of installed applications. For example, the user ofthe host 102 selects the application button 114 to see the listing 702of conference applications installed on the host 102.

At block 1008, the user selects and runs one or more of the applicationshown in the directory listing. For example, the user of the host 102selects and runs the application 704, which provides an applicationdialog window in a right sidebar of the display 110.

At block 1010, the user of the host 102 utilizes the application duringthe network conference with the attendees (A1-A3). For example, theconference application 704 provides any desired functionality, such asword processing, spreadsheets, presentations, or any other type offunctionality suitable for an application.

At block 1012, the user of the host 102 activate the selector 904 tocapture and transmit a screen shot of a conference application window toone or more conference attendees. For example, the client 112 capturesthe screen shot 902 of the application 704 and transmits the screen shot902 to one or more of the attendee systems.

At block 1014, the user exits the conference and closes the application.

Thus, the method 1000 provides a method for sharing a screen shot of aconference application during a network conference. It should be notedthat the operations of the method 1000 are exemplary and not limiting ofthe scope of the embodiments. Furthermore the operations of the method1000 can be changed, deleted, rearranged, added to, or otherwisemodified within the scope of the embodiments.

FIG. 11 shows an exemplary method for transmitting application contentduring a network conference. In an exemplary embodiment, the clientapplication 112 is run on a host equipment 102 during a networkconference. The client application 112 is also running on attendeecomputers A1-A3. The network server 104 facilitates the networkconference over the communication network 106. For example, the clientapplication 112 provides a network conference display 110 on the hostsystem and the attendee systems during the network conference.

During the conference, the user of the host system 102 selects theconference application selector 114 to view a listing 702 of installedconference applications. The user selects one or more of the conferenceapplications to run during the conference. For example, the user selectconference application 1 704 to run during the conference. Theapplication 1 704 runs in a side panel on the right sidebar of theconference display 110. During the conference the user can interact withthe application 704 to take notes or make other entries depending on thefunctionality of the application. In an embodiment, the user desired totransmit application content to one or more of the attendees. The userof the host 102 selects a “transmit content” (TC) button 1104 totransmit application content 1102 to the attendees for use on theattendee systems. The application content includes an applicationidentifier that identifies the application with which the content is tobe viewed. When the content is received at an attendee device, the CSASclient determines if the application corresponding to the applicationidentifier is installed at the attendee. If the application isinstalled, the CSAS client runs that application and displays thecontent. If an attendee does not have the correct application installed,the CSAS client will automatically install the application from theserver. For example, the attendee A3 does not have the application 704installed. The CSAS client at the attendee A3 automatically installs theapplication 1 (as indicated at 1106) from the server 104 and thendisplays the application content 1102 on the attendee A3 device. In anembodiment, the following functions are performed by embodiments of theCSAS.

1. Application selector button provided on menu to display directory ofinstalled conference applications. Ability to install additionalconference applications from application store on network server.

2. Selection of one or more conference applications to run during anetwork conference.

3. Run conference applications in sidebar during network conference.

4. Allow multiple conference applications to be installed and run at thesame time (multitasking).

5. Allow resizing and repositioning of conference application dialogwindows.

6. Activate selector TC selector 1104 to transmit application contentfrom a conference application running on the host to one or moreconference attendees. The transmitted application content includes anapplication identifier.

7. An attendee device receives that application content and theidentifier. The CSAS client running on the attendee device runs theapplication corresponding to the application identifier and displays thecontent.

8. If the application corresponding to the application identifier is notinstalled on the attendee device, the CSAS client automaticallydownloads and installs the application 1106 from the server 104. TheCSAS client running on the attendee device runs the newly installedapplication corresponding to the application identifier and displays thecontent.

FIG. 12 shows an exemplary method for transmitting application contentduring a network conference. For example, in an embodiment, the method1200 is performed by the client application 112 running on the host 102or any of the attendee UE (A1-A3) systems shown in FIG. 11.

At block 1202, a user activates the CSAS client on the device or system.For example, the user of the host 102 activates the CSAS client 112.

At block 1204, the user initiates or joins a network conference usingthe CSAS client. For example, the user of the host 102 joins aconference with the attendees (A1-A3) utilizing the network server 124and the network 126.

At block 1206, the user selects the application button to display adirectory listing of installed applications. For example, the user ofthe host 102 selects the application button 114 to see the listing 702of conference applications installed on the host 122.

At block 1208, the user selects and runs one or more of the applicationshown in the directory listing. For example, the user of the host 102selects and runs the application 704, which provides an applicationdialog window in a right sidebar of the display 112.

At block 1210, the user of the host 102 utilizes the application duringthe network conference with the attendees (A1-A3). The user identifiesapplication to be transmitted to other attendees of the networkconference. For example, the conference application 702 provides anydesired functionality, such as word processing, spreadsheets,presentations, or any other type of functionality suitable for anapplication.

At block 1212, the user transmits the application content and anapplication identifier to other attendees of the network conference. Forexample, the user of the host 102 selects the TC button 1104 to transmitthe content and identifier 1106 to other network attendees.

At block 1214, an attendee of the conference receives the transmittedcontent and the application identifier.

At block 1216, a determination is made as to whether the receivingattendee has the correct application installed. For example, the CSASclient running at the attendee determines if the application identifierthat was received matches any of the currently installed applications.If the application is installed, the method proceed to block 1220. Ifthe applicant is not installed the method proceeds to block 1218.

At block 1218, the application is installed on the attendee system. Forexample, the CSAS client automatically installs the application from theserver 104. For example, the CSAS client utilizes the receivedapplication identifier to install the correct application.

At block 1220, the identified application is started on the attendeesystem and the received application content is displayed on the attendeesystem.

Thus, the method 1200 provides a method for transmitting applicationcontent during a network conference. It should be noted that theoperations of the method 1200 are exemplary and not limiting of thescope of the embodiments. Furthermore the operations of the method 1200can be changed, deleted, rearranged, added to, or otherwise modifiedwithin the scope of the embodiments.

FIG. 13 a diagram illustrating an exemplary embodiment of a conferencesystem with application support in which applications are run before orafter a network conference.

In an exemplary embodiment, the CSAS client application 112 is run onhost equipment 102. Prior to joining or initiating a network conference,the user of the host 102 selects the application button 114 to see thelist installed applications 702. The user of the host 102 selects theapplication 704 to run. The user interacts with the application 704 andcan either close the application or leave the application running whenjoining a network conference.

The user of the host 102 can participate in a network conference andcontinue to utilize the application 704. After the conference iscompleted, the user of the host 102 can select and run anotherapplication 1202. After interacting with the applications 704 and 1202,the user can close the applications. In an embodiment, the followingfunctions are performed by embodiments of the CSAS client to utilizeconference applications before or after a network conference.

1. A user activates the CSAS client but does not join a networkconference.

2. The user selects a conference application to run. For example, theuser selects one of the previously installed conference applications702.

3. The user interacts with the conference application as desired toperform some function of the application.

4. The user joins a network conference as described above.

5. During the conference the user continues to use the conferenceapplication.

6. The user leaves the network conference. The user may or may not closethe conference application.

7. The user selects another conference application to run. For example,the user selects another one of the previously installed conferenceapplications 702.

FIG. 14 shows an exemplary method 1400 for running conferenceapplications before or after a network conference. For example, in anembodiment, the method 1400 is performed by the client application 112running on the host 102 or any of the attendee UE (A1-A3) systems shownin FIG. 13.

At block 1402, a user activates the CSAS client on the device or system.For example, the user of the host 102 activates the CSAS client 112.

At block 1404, the user selects the application button to display adirectory listing of installed applications. For example, the user ofthe host 102 selects the application button 114 to see the listing 702of conference applications installed on the host 142.

At block 1406, the user utilizes the application before joining anetwork conference.

At block 1408, the user initiates or joins a network conference. Forexample, the user of the host 102 uses the CSAS client to initiates anetwork conference with the attendees A1-A3.

At block 1410, the user participates in the network conference andcontinues to use the application 704.

At block 1412, the user exits the network conference and may or may notcontinue to use the application 704. For example, the user may wish toclose the application 704.

At block 1414, the user activates and user another conferenceapplication after the network conference has ended. For example, theuser selects and runs the application 1302 after the network conferencehas ended.

Thus, the method 1400 provides a method for running conferenceapplications before or after a network conference. It should be notedthat the operations of the method 1400 are exemplary and not limiting ofthe scope of the embodiments. Furthermore the operations of the method1400 can be changed, deleted, rearranged, added to, or otherwisemodified within the scope of the embodiments.

FIG. 15 a diagram illustrating an exemplary embodiment of a conferencesystem with application support in which application content is attachedto an instance of a network conference.

In an exemplary embodiment, the CSAS client application 112 is run onhost equipment 102. Prior to initiating a network conference, the userof the host 102 selects the application button 114 to see the listinstalled applications 702. The user of the host 102 selects theapplication 704 to run. The user interacts with the application 704 togenerate application content. The user then selects to generate aconference invitation 1502 to invite attendees to a network conference.The user attaches application content to the invitation. The usertransmits the invitation and content 1504 to the network server 104.When the attendees receive the invention and content 1504, the attendeescan view the attached content prior to the conference.

In an embodiment, the following functions are performed by embodimentsof the CSAS client to attached application content to an instance of anetwork conference.

1. A user activates the CSAS client.

2. The user selects a conference application to run. For example, theuser selects one of the previously installed conference applications702.

3. The user interacts with the conference application as desired toperform some function of the application to generate applicationcontent.

4. The user generates a conference invitation and attached applicationcontent.

5. The user transmits the conference invitation and application content1504 to the network server 104.

FIG. 16 shows an exemplary method 1600 for attaching conferenceapplication content to an instance of a network conference. For example,in an embodiment, the method 1600 is performed by the client application112 running on the host 102 or any of the attendee UE (A1-A3) systemsshown in FIG. 15.

At block 1602, a user activates the CSAS client on the device or system.For example, the user of the host 102 activates the CSAS client 112.

At block 1604, the user selects the application button to display adirectory listing of installed applications. For example, the user ofthe host 102 selects the application button 114 to see the listing 702of conference applications installed on the host 102 and selects anapplication to run.

At block 1606, the user utilizes the application to generate applicationcontent.

At block 1608, the user attaches application content to an instance of anetwork conference. For example, the user of the host 102 uses the CSASclient to generate an invitation 1502 to a network conference withattached the application content.

At block 1610, the CSAS client transmits invitation and content 1504 tothe network server 104.

Thus, the method 1600 provides a method for attaching conferenceapplication content to an instance of a network conference. It should benoted that the operations of the method 1600 are exemplary and notlimiting of the scope of the embodiments. Furthermore the operations ofthe method 1600 can be changed, deleted, rearranged, added to, orotherwise modified within the scope of the embodiments.

FIG. 17 a diagram illustrating an exemplary embodiment of a conferencesystem with application support in which a record of application usageduring a network conference is maintained.

In an exemplary embodiment of a conference system with applicationsupport, the client application 112 is run on a host equipment 102during a network conference. The client application 112 is also runningon attendee computers A1-A3. The network server 104 facilitates thenetwork conference over the communication network 106. For example, theclient application 112 provides a network conference display 110 on thehost system and the attendee systems during the network conference.

During the conference, the user of the host system 102 selects theconference application selector (button) 114 to view a listing 702 ofinstalled conference applications. The user selects one or more of theconference applications to run during the conference. For example, theuser select conference application 1 704 to run during the conference.The application 1 704 runs in a side panel on the right side of theconference display 110. During the conference the user can interact withthe application 704 to take notes or make other entries depending on thefunctionality of the application. In an embodiment, the followingfunctions to record the activities of the network conference areperformed by embodiments of the CSAS.

1. A user activates the CSAS client and begin a conference recording1702 to record events related to the user of the CSAS client andconference applications.

2. The user selects a conference application to run. For example, theuser selects one of the previously installed conference applications702.

3. The user interacts with the conference application as desired toperform some function of the application to generate applicationcontent.

4. The user initiates or joins a network conference and utilizes one ormore conference applications before, during, or after the conference.For example, the CSAS can perform any or all of the applicationfunctions as shown in FIG. 2.

5. The user exists the conference and closes all conferenceapplications.

6. The CSAS completes the conference record 1702 and saves these eventson the host system 102.

FIG. 18 shows an exemplary method 1800 for maintaining a record ofapplication usage during a network conference. For example, in anembodiment, the method 1800 is performed by the client application 112running on the host 102 or any of the attendee UE (A1-A3) systems shownin FIG. 17.

At block 1802, a user activates the CSAS client on the device or system.For example, the user of the host 102 activates the CSAS client 112.

At block 1804, the user activates conference recording. For example, theCSAS client receives user input to activate conference recording torecording conference activity and application usage.

At block 1806, the user runs one or more conference applications.

At block 1808, the user or the host 102 initiates or joins a networkconference. During the network conference the user interact with one ormore conference applications. The user may also provide input to theCSAS client to perform any or all of the functions shown in FIG. 2.

At block 1810, the user exits the network conference. For example, theuser provides user input to the CSAS client to exit the networkconference.

At block 1812, the CSAS completes recording of conference andapplication usage and saves recording on the local system. For example,the CSAS saves the conference recording 1702 on the host 102.

Thus, the method 1800 provides a method for operating a UE of aconference attendee to utilize a scene layout during a networkconference. It should be noted that the operations of the method 1800are exemplary and not limiting of the scope of the embodiments.Furthermore the operations of the method 1800 can be changed, deleted,rearranged, added to, or otherwise modified within the scope of theembodiments.

In an embodiment, the exemplary embodiments described herein areimplemented using customized hard-wired logic, one or more ASICs orFPGAs, firmware and/or program logic which in combination with acomputer system causes or programs the disclosed apparatus to be aspecial-purpose machine. According to one embodiment, the operationsdescribed herein are performed by a processor or computer executing oneor more sequences of one or more instructions contained in memory. Suchinstructions may be read into memory from another storage medium.Execution of the sequences of instructions contained in memory causes aprocessor to perform the process steps described herein. In alternativeembodiments, hard-wired circuitry may be used in place of or incombination with software instructions.

The term “storage media” as used herein refers to any non-transitorymedium that stores data and/or instructions that cause a machine tooperate in a specific fashion. Such storage media may comprisenon-volatile media and/or volatile media. Non-volatile media includes,for example, optical or magnetic disks, such as memory 404 orinstructions memory 412. Volatile media includes dynamic memory. Commonforms of storage media include, for example, a floppy disk, a flexibledisk, a hard disk, a solid state drive, a magnetic tape, or any othermagnetic data storage medium, a CD-ROM, any other optical data storagemedium, any physical medium with patterns of holes, a RAM, a PROM, andan EPROM, a FLASH-EPROM, an NVRAM, any other memory chip or cartridge.

Storage media is distinct from but may be used in conjunction withtransmission media. Transmission media participates in transferringinformation between storage media. For example, transmission mediaincludes coaxial cables, copper wire, and fiber optics, including thewires that comprise one or more buses. Transmission media can also takethe form of acoustic or light waves, such as those generated duringradio-wave and infra-red data communications.

Various forms of media may be involved in carrying one or more sequencesof one or more instructions to a disclosed processor for execution. Forexample, the instructions may initially be carried on a magnetic disk ora solid-state drive of a remote computer. The remote computer can loadthe instructions into its dynamic memory and send the instructions overa telephone line using a modem. A local modem can receive the data onthe telephone line and use an infra-red transmitter to convert the datato an infra-red signal. An infra-red detector can receive the datacarried in the infra-red signal and appropriate circuitry can place thedata on a data bus, which carries the data to a memory, from which aprocessor retrieves and executes the instructions. The instructions mayoptionally be stored on a storage device either before or afterexecution by processor.

The exemplary embodiment of the present invention includes variousprocessing steps described herein. The steps of the embodiment may beembodied in machine or computer executable instructions. Theinstructions can be used to cause a general purpose or special purposesystem, which is programmed with the instructions, to perform the stepsof the exemplary embodiment of the present invention. Alternatively, thesteps of the exemplary embodiment of the present invention may beperformed by specific hardware components that contain hard-wired logicfor performing the steps, or by any combination of programmed computercomponents and custom hardware components.

While particular embodiments of the present invention have been shownand described, it will be obvious to those of ordinary skills in the artthat based upon the teachings herein, changes and modifications may bemade without departing from this exemplary embodiments of the presentinvention and its broader aspects. Therefore, the appended claims areintended to encompass within their scope all such changes andmodifications as are within the true spirit and scope of this exemplaryembodiments of the present invention.

What is claimed is:
 1. A method comprising: receiving, at a clientapplication configured to provide functionality associated with anetwork conference, a request to install at least one conferenceapplication; installing, by the client application, the at least oneconference application from a network server; activating a recording ofconference application activity to record activities associated withusing a plurality of installed conference applications by the clientapplication including the installed at least one conference application;receiving a selection of a conference application from the plurality ofinstalled conference applications; executing the selected conferenceapplication from the client application, wherein the selected conferenceapplication is executed during at least one of before, during, and aftera network conference; and completing the recording of the conferenceapplication activity.
 2. The method of claim 1, further comprisingexecuting the client application to communicate with one or moreattendees of the network conference over at least one of a wired andwireless network.
 3. The method of claim 2, wherein completing therecording of the conference application activity is performed after theclient application exists the network conference.
 4. The method of claim1, wherein the plurality of installed conference applications areconfigured to provide additional functionalities than the functionalityof the client application.
 5. The method of claim 1, wherein receiving aselection of a conference application comprises: receiving a selectionof an application selector configured to present a list of the pluralityof installed conference applications; and receiving the selection of theconference application from the list.
 6. The method of claim 1, wherein:the conference application is configured as a web application executableby a web browser; the client application includes a version of a webbrowser; and executing the selected conference application comprisesexecuting the conference application as a web application using theversion of the web browser.
 7. The method of claim 1, further comprisingsaving the recording of the conference application activity.
 8. Anapparatus comprising: a processor; a memory device includinginstructions that are executable by the processor to cause the processorto perform operations comprising: receiving, at a client applicationconfigured to provide functionality associated with a networkconference, a request to install at least one conference application;installing, by the client application, the at least one conferenceapplication from a network server; activating a recording of conferenceapplication activity to record activities associated with using aplurality of installed conference applications by the client applicationincluding the installed at least one conference application; receiving aselection of a conference application from the plurality of installedconference applications; executing the selected conference applicationfrom the client application, wherein the selected conference applicationis executed during at least one of before, during, and after a networkconference; and completing the recording of the conference applicationactivity.
 9. The apparatus of claim 8, wherein the operations furthercomprise executing the client application to communicate with one ormore attendees of the network conference over at least one of a wiredand wireless network during the network conference.
 10. The apparatus ofclaim 9, wherein completing the recording of the conference applicationactivity is performed after the client application exists the networkconference.
 11. The apparatus of claim 8, wherein the plurality ofinstalled conference applications are configured to provide additionalfunctionalities than the functionality of the client application. 12.The apparatus of claim 8, wherein the operations further comprisereceiving a selection of an application selector as user input and inresponse to the selection, displaying a list of the plurality ofinstalled conference applications, and receiving additional user inputto select the conference application from the list.
 13. The apparatus ofclaim 8, wherein: the conference application is configured as a webapplication executable by a web browser; the client application includesa version of a web browser; and the conference application is executedas a web application in the version of the web browser.
 14. Theapparatus of claim 8, wherein the operations further comprise saving therecording of the conference application activity.
 15. A non-transitorycomputer readable medium on which are stored program instructions that,when executed by one or more processors, cause the one or moreprocessors to perform operations of: receiving, at a client applicationconfigured to provide functionality associated with a networkconference, a request to install at least one conference application;installing, by the client application, the at least one conferenceapplication from a network server; activating a recording of conferenceapplication activity to record activities associated with using aplurality of installed conference applications by the client applicationincluding the installed at least one conference application; receiving aselection of a conference application from the plurality of installedconference applications; executing the selected conference applicationfrom the client application, wherein the selected conference applicationis executed during at least one of before, during, and after a networkconference; and completing the recording of the conference applicationactivity.
 16. The non-transitory computer readable medium of claim 15,wherein the operations further comprise executing the client applicationto communicate with one or more attendees over at least one of a wiredand wireless network during the network conference.
 17. Thenon-transitory computer readable medium of claim 15, wherein theoperations further comprise receiving a selection of an applicationselector as user input and in response to the selection, displaying alist of the plurality of installed conference applications, andreceiving additional user input to select the conference applicationfrom the list.
 18. The non-transitory computer readable medium of claim15, wherein: the conference application is configured as a webapplication executable by a web browser; the client application includesa version of a web browser; and the conference application is executedas a web application in the version of the web browser.
 19. Thenon-transitory computer readable medium of claim 15, wherein theconference application is configured to provide at least one of wordprocessing, calendar, and spreadsheet functionality.
 20. Thenon-transitory computer readable medium of claim 15, wherein theoperations further comprise saving the recording of the conferenceapplication activity.